[INFO] cloning repository https://github.com/FeatureProbe/feature-probe-link
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FeatureProbe/feature-probe-link" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFeatureProbe%2Ffeature-probe-link", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFeatureProbe%2Ffeature-probe-link'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 336d39964ef1ebd24a2149b87349b5b879fb2e20
[INFO] fixing FeatureProbe/feature-probe-link against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFeatureProbe%2Ffeature-probe-link" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FeatureProbe/feature-probe-link
[INFO] finished tweaking git repo https://github.com/FeatureProbe/feature-probe-link
[INFO] tweaked toml for git repo https://github.com/FeatureProbe/feature-probe-link written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FeatureProbe/feature-probe-link on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FeatureProbe/feature-probe-link already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: server-hproxy/Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `config` dependency)
[INFO] [stderr] warning: `server-hproxy` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed
[INFO] running `Command { std: "docker" "start" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating client-core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating client-proto/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating client-uniffi/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-proto/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-base/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-state/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-listener/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server-hproxy/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]        Fixed server-hproxy/Cargo.toml (1 fix)
[INFO] [stderr]    Migrating server-grpc/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking once_cell v1.12.0
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling anyhow v1.0.57
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]     Checking itoa v1.0.2
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]     Checking tracing-core v0.1.26
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]     Checking mio v0.8.3
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling serde_json v1.0.81
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling which v4.2.5
[INFO] [stderr]     Checking parking_lot v0.12.0
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]     Checking http v0.2.7
[INFO] [stderr]    Compiling httparse v1.7.1
[INFO] [stderr]    Compiling regex-syntax v0.6.26
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fixedbitset v0.4.1
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-trait v0.1.53
[INFO] [stderr]    Compiling prost-build v0.10.4
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling rustls v0.20.6
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking tower-layer v0.3.1
[INFO] [stderr]     Checking http-range-header v0.3.0
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]     Checking matchit v0.5.0
[INFO] [stderr]     Checking sync_wrapper v0.1.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking num-traits v0.2.15
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling petgraph v0.6.1
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking unicode-bidi v0.3.8
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]     Checking rustls-pemfile v0.2.1
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling regex v1.5.6
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling camino v1.0.9
[INFO] [stderr]    Compiling nom v7.1.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking rustls-pemfile v0.3.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking event-listener v2.5.2
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking ipnet v2.5.0
[INFO] [stderr]    Compiling askama_escape v0.10.3
[INFO] [stderr]    Compiling cached_proc_macro_types v0.1.0
[INFO] [stderr]     Checking async-mutex v1.4.0
[INFO] [stderr]     Checking time v0.3.9
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling semver v1.0.9
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking cpufeatures v0.2.2
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking unicode-ident v1.0.0
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]     Checking crossbeam-channel v0.5.4
[INFO] [stderr]     Checking serde-hjson v0.9.1
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]    Compiling os_str_bytes v6.1.0
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling clap_lex v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.4
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]    Compiling fs-err v2.7.0
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling textwrap v0.15.0
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]     Checking dashmap v4.0.2
[INFO] [stderr]    Compiling prettyplease v0.1.11
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling backtrace v0.3.65
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking object v0.28.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking webpki-roots v0.22.3
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking weedle2 v2.0.1
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking directories-next v1.0.3
[INFO] [stderr]    Compiling vergen v3.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling tracing-attributes v0.1.21
[INFO] [stderr]    Compiling prost-derive v0.10.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling ctor v0.1.22
[INFO] [stderr]     Checking tokio v1.18.2
[INFO] [stderr]     Checking async-stream v0.3.3
[INFO] [stderr]    Compiling clap_derive v3.1.18
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Migrating server/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking minstant v0.1.1
[INFO] [stderr]     Checking tracing v0.1.34
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.11
[INFO] [stderr]    Compiling prost v0.10.4
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling cached_proc_macro v0.6.2
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]    Compiling clap v3.1.18
[INFO] [stderr]    Compiling prost-types v0.10.1
[INFO] [stderr]     Checking quinn-proto v0.8.3
[INFO] [stderr]     Checking tungstenite v0.16.0
[INFO] [stderr]     Checking tracing-appender v0.2.2
[INFO] [stderr]     Checking serde v1.0.137
[INFO] [stderr]     Checking axum-core v0.2.4
[INFO] [stderr]     Checking futures-executor v0.3.21
[INFO] [stderr]    Compiling tonic-build v0.7.2
[INFO] [stderr]     Checking futures v0.3.21
[INFO] [stderr]     Checking cached v0.23.0
[INFO] [stderr]    Compiling client-proto v0.1.0 (/opt/rustwide/workdir/client-proto)
[INFO] [stderr]    Migrating client-proto/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tokio-util v0.7.2
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]     Checking tokio-util v0.6.10
[INFO] [stderr]     Checking async-compression v0.3.14
[INFO] [stderr]     Checking stream-cancel v0.8.1
[INFO] [stderr]     Checking tokio-tungstenite v0.16.1
[INFO] [stderr]    Migrating client-proto/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling server-proto v0.1.0 (/opt/rustwide/workdir/server-proto)
[INFO] [stderr]    Migrating server-proto/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking h2 v0.3.13
[INFO] [stderr]     Checking tower v0.4.12
[INFO] [stderr]     Checking quinn-udp v0.1.2
[INFO] [stderr]     Checking quinn v0.8.3
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling cargo-platform v0.1.2
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]     Checking tower-http v0.3.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling askama_shared v0.12.2
[INFO] [stderr]    Compiling cargo_metadata v0.13.1
[INFO] [stderr]     Checking config v0.11.0
[INFO] [stderr]     Checking hyper v0.14.18
[INFO] [stderr]    Compiling askama_derive v0.11.2
[INFO] [stderr]    Compiling askama v0.11.1
[INFO] [stderr]    Compiling uniffi_bindgen v0.18.0
[INFO] [stderr]     Checking axum v0.5.6
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking hyper-rustls v0.23.0
[INFO] [stderr]     Checking reqwest v0.11.10
[INFO] [stderr]     Checking client_core v0.1.0 (/opt/rustwide/workdir/client-core)
[INFO] [stderr]    Migrating client-core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking uniffi v0.18.0
[INFO] [stderr]    Compiling uniffi_build v0.18.0
[INFO] [stderr]        Fixed client-core/src/tcp_conn.rs (10 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:201:33
[INFO] [stdout]     |
[INFO] [stdout] 201 |               while let Some(p) = receiver.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | /                 manager_recv(
[INFO] [stdout] 205 | |                     manager,
[INFO] [stdout] 206 | |                     p.map_err(|e| Error::RecvError { msg: e.to_string() }),
[INFO] [stdout] 207 | |                 )
[INFO] [stdout] 208 | |                 .await
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 209 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/manager.rs:155:40
[INFO] [stdout]     |
[INFO] [stdout] 154 |                   let _ = timeout(Duration::from_secs(PING_INTERVAL_SEC), ping_rx.recv()).await;
[INFO] [stdout]     |                           ---------------------------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 155 |                   match slf.conn_state().await {
[INFO] [stdout]     |                         -----------------^^^^^
[INFO] [stdout]     |                         |                |
[INFO] [stdout]     |                         |                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |                up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 156 |                       State::Connected if slf.pending_ping_num().await < MAX_PENDING_PING_NUM => {
[INFO] [stdout]     |                                           ----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 157 |                           slf.inc_pending_ping().await;
[INFO] [stdout]     |                           ----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 158 | /                         slf.do_send(Packet::Ping(Ping {
[INFO] [stdout] 159 | |                             timestamp: now_ts(),
[INFO] [stdout] 160 | |                         }))
[INFO] [stdout] 161 | |                         .await;
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 |                           slf.reset_pending_ping().await;
[INFO] [stdout]     |                           ------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                           tokio::spawn(async move { slf.cleanup().await });
[INFO] [stdout]     |                           ------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 169 |                       _ => slf.reset_pending_ping().await,
[INFO] [stdout]     |                            ------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 170 |                   }
[INFO] [stdout] 171 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/time/driver/entry.rs:624:1
[INFO] [stdout]     |
[INFO] [stdout] 624 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:59:15
[INFO] [stdout]     |
[INFO] [stdout]  45 |           let _lock = self.open_lock.lock().await;
[INFO] [stdout]     |               -----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `_lock` calls a custom destructor
[INFO] [stdout]     |               `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |           match self
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  60 | |             .open_tcp_stream(&self.host, self.is_ssl, self.timeout_ms)
[INFO] [stdout]  61 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                |   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mutex.rs:777:1
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:61:14
[INFO] [stdout]     |
[INFO] [stdout]  45 |         let _lock = self.open_lock.lock().await;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_lock` calls a custom destructor
[INFO] [stdout]     |             `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  61 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mutex.rs:777:1
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:201:33
[INFO] [stdout]     |
[INFO] [stdout] 201 |               while let Some(p) = receiver.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | /                 manager_recv(
[INFO] [stdout] 205 | |                     manager,
[INFO] [stdout] 206 | |                     p.map_err(|e| Error::RecvError { msg: e.to_string() }),
[INFO] [stdout] 207 | |                 )
[INFO] [stdout] 208 | |                 .await
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 209 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/manager.rs:155:40
[INFO] [stdout]     |
[INFO] [stdout] 154 |                   let _ = timeout(Duration::from_secs(PING_INTERVAL_SEC), ping_rx.recv()).await;
[INFO] [stdout]     |                           ---------------------------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 155 |                   match slf.conn_state().await {
[INFO] [stdout]     |                         -----------------^^^^^
[INFO] [stdout]     |                         |                |
[INFO] [stdout]     |                         |                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |                up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 156 |                       State::Connected if slf.pending_ping_num().await < MAX_PENDING_PING_NUM => {
[INFO] [stdout]     |                                           ----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 157 |                           slf.inc_pending_ping().await;
[INFO] [stdout]     |                           ----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 158 | /                         slf.do_send(Packet::Ping(Ping {
[INFO] [stdout] 159 | |                             timestamp: now_ts(),
[INFO] [stdout] 160 | |                         }))
[INFO] [stdout] 161 | |                         .await;
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 |                           slf.reset_pending_ping().await;
[INFO] [stdout]     |                           ------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 166 |                           tokio::spawn(async move { slf.cleanup().await });
[INFO] [stdout]     |                           ------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 169 |                       _ => slf.reset_pending_ping().await,
[INFO] [stdout]     |                            ------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 170 |                   }
[INFO] [stdout] 171 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/time/driver/entry.rs:624:1
[INFO] [stdout]     |
[INFO] [stdout] 624 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:59:15
[INFO] [stdout]     |
[INFO] [stdout]  45 |           let _lock = self.open_lock.lock().await;
[INFO] [stdout]     |               -----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `_lock` calls a custom destructor
[INFO] [stdout]     |               `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |           match self
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  60 | |             .open_tcp_stream(&self.host, self.is_ssl, self.timeout_ms)
[INFO] [stdout]  61 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                |   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.57/src/error.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mutex.rs:777:1
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> client-core/src/tcp_conn.rs:61:14
[INFO] [stdout]     |
[INFO] [stdout]  45 |         let _lock = self.open_lock.lock().await;
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_lock` calls a custom destructor
[INFO] [stdout]     |             `_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  61 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mutex.rs:777:1
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling client-uniffi v0.1.0 (/opt/rustwide/workdir/client-uniffi)
[INFO] [stderr]    Compiling uniffi_macros v0.18.0
[INFO] [stderr]    Migrating client-uniffi/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tonic v0.7.2
[INFO] [stderr]    Migrating client-uniffi/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs (18 fixes)
[INFO] [stderr]    Migrating client-uniffi/tests/test_generated_bindings.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating server-proto/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking server-base v0.1.0 (/opt/rustwide/workdir/server-base)
[INFO] [stderr]    Migrating server-base/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed server-base/src/config.rs (2 fixes)
[INFO] [stderr]     Checking server-state v0.1.0 (/opt/rustwide/workdir/server-state)
[INFO] [stderr]     Checking server-core v0.1.0 (/opt/rustwide/workdir/server-core)
[INFO] [stderr]    Migrating server-state/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating server-core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed server-core/src/operator.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-core/src/repository.rs:43:34
[INFO] [stdout]     |
[INFO] [stdout]  43 |             if let Some(conns) = self.indexing.get(&gen_index_key(ns, room_prefix, channel)) {
[INFO] [stdout]     |                         -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |
[INFO] [stdout]     |                         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `conns` calls a custom destructor
[INFO] [stdout]     |                         `conns` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  48 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dashmap-4.0.2/src/lock.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl<'rwlock, T: ?Sized> Drop for RwLockReadGuard<'rwlock, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conns` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dashmap-4.0.2/src/lock.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl<'rwlock, T: ?Sized> Drop for RwLockReadGuard<'rwlock, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking server-listener v0.1.0 (/opt/rustwide/workdir/server-listener)
[INFO] [stderr]     Checking server-hproxy v0.1.0 (/opt/rustwide/workdir/server-hproxy)
[INFO] [stderr]     Checking server-grpc v0.1.0 (/opt/rustwide/workdir/server-grpc)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-core/src/repository.rs:43:34
[INFO] [stdout]     |
[INFO] [stdout]  43 |             if let Some(conns) = self.indexing.get(&gen_index_key(ns, room_prefix, channel)) {
[INFO] [stdout]     |                         -----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |
[INFO] [stdout]     |                         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `conns` calls a custom destructor
[INFO] [stdout]     |                         `conns` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  48 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dashmap-4.0.2/src/lock.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl<'rwlock, T: ?Sized> Drop for RwLockReadGuard<'rwlock, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conns` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dashmap-4.0.2/src/lock.rs:291:1
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl<'rwlock, T: ?Sized> Drop for RwLockReadGuard<'rwlock, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating server-listener/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed server-listener/src/tls.rs (1 fix)
[INFO] [stderr]    Migrating server-hproxy/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/accepter.rs:86:34
[INFO] [stdout]     |
[INFO] [stdout]  86 |         while let Some(result) = reader.next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |             |
[INFO] [stdout]     |                        |         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `result` calls a custom destructor
[INFO] [stdout]     |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  89 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                 let mut time = self.incoming_time.l();
[INFO] [stdout]     |                     --------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `time` calls a custom destructor
[INFO] [stdout]     |                     `time` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `time` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.7/src/mutex.rs:651:1
[INFO] [stdout]     |
[INFO] [stdout] 651 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/listener.rs:113:41
[INFO] [stdout]     |
[INFO] [stdout] 113 |           while let Some(stream_result) = incoming.next().await {
[INFO] [stdout]     |                          -------------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |                |               |
[INFO] [stdout]     |                          |                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                          |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `stream_result` calls a custom destructor
[INFO] [stdout]     |                          `stream_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 | /                     tokio::spawn(async move {
[INFO] [stdout] 119 | |                         let peer_addr = stream.peer_addr().ok();
[INFO] [stdout] 120 | |                         if let Some(ref acceptor) = tls_acceptor {
[INFO] [stdout] 121 | |                             accept_tls_stream(
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 135 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/quic.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |         while let Some(stream) = bi_streams.next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                 |
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `stream` calls a custom destructor
[INFO] [stdout]     |                        `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |             tokio::spawn(accept_quic_stream(stream, timeout_secs, lifecycle.clone()));
[INFO] [stdout]     |             -------------------------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 115 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/quic.rs:64:28
[INFO] [stdout]     |
[INFO] [stdout]  64 |     while let Some(conn) = incoming.next().await {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |               |
[INFO] [stdout]     |                            |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  65 |         log::info!("quic connection incoming");
[INFO] [stdout]  66 |         tokio::spawn(accept_quic(conn, timeout_secs, lifecycle.clone()));
[INFO] [stdout]     |         ----------------------------------------------------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  67 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.8.3/src/connection.rs:736:1
[INFO] [stdout]     |
[INFO] [stdout] 736 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.8.3/src/connection.rs:736:1
[INFO] [stdout]     |
[INFO] [stdout] 736 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> server-listener/src/accepter.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |             while let Some(msg) = receiver.next().await {
[INFO] [stdout]    |                                                   -----
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 68 |                 if let Err(e) = writer.send(msg).await {
[INFO] [stdout]    |                            -    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                            |    |                |
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                            |    |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            |    |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                            |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            `e` calls a custom destructor
[INFO] [stdout]    |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 72 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> server-listener/src/accepter.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             while let Some(msg) = receiver.next().await {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                   |               |
[INFO] [stdout]    |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 68 |                 if let Err(e) = writer.send(msg).await {
[INFO] [stdout]    |                            -    ----------------------
[INFO] [stdout]    |                            |    |                |
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            |    |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            `e` calls a custom destructor
[INFO] [stdout]    |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 72 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-hproxy/src/http.rs:75:15
[INFO] [stdout]     |
[INFO] [stdout]  75 |         match HeaderName::from_bytes(k.as_bytes()) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  76 |             Ok(n) => match v.parse::<HeaderValue>() {
[INFO] [stdout]     |                -           ------------------------
[INFO] [stdout]     |                |           |
[INFO] [stdout]     |                |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                `n` calls a custom destructor
[INFO] [stdout]     |                `n` will be dropped later as of Edition 2024
[INFO] [stdout]  77 |                 Ok(v) => {
[INFO] [stdout]  78 |                     headers.insert(n, v);
[INFO] [stdout]     |                     --------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `n` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-hproxy/src/http.rs:75:15
[INFO] [stdout]     |
[INFO] [stdout]  75 |         match HeaderName::from_bytes(k.as_bytes()) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  76 |             Ok(n) => match v.parse::<HeaderValue>() {
[INFO] [stdout]     |                -           ------------------------
[INFO] [stdout]     |                |           |
[INFO] [stdout]     |                |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                `n` calls a custom destructor
[INFO] [stdout]     |                `n` will be dropped later as of Edition 2024
[INFO] [stdout]  77 |                 Ok(v) => {
[INFO] [stdout]  78 |                     headers.insert(n, v);
[INFO] [stdout]     |                     --------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `n` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/accepter.rs:86:34
[INFO] [stdout]     |
[INFO] [stdout]  86 |         while let Some(result) = reader.next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |             |
[INFO] [stdout]     |                        |         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `result` calls a custom destructor
[INFO] [stdout]     |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  89 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |                 let mut time = self.incoming_time.l();
[INFO] [stdout]     |                     --------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `time` calls a custom destructor
[INFO] [stdout]     |                     `time` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `time` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.7/src/mutex.rs:651:1
[INFO] [stdout]     |
[INFO] [stdout] 651 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating server-grpc/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/listener.rs:113:41
[INFO] [stdout]     |
[INFO] [stdout] 113 |           while let Some(stream_result) = incoming.next().await {
[INFO] [stdout]     |                          -------------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |                |               |
[INFO] [stdout]     |                          |                |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |                |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                          |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `stream_result` calls a custom destructor
[INFO] [stdout]     |                          `stream_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 | /                     tokio::spawn(async move {
[INFO] [stdout] 119 | |                         let peer_addr = stream.peer_addr().ok();
[INFO] [stdout] 120 | |                         if let Some(ref acceptor) = tls_acceptor {
[INFO] [stdout] 121 | |                             accept_tls_stream(
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 135 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/io/poll_evented.rs:207:1
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/quic.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |         while let Some(stream) = bi_streams.next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                 |
[INFO] [stdout]     |                        |         |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `stream` calls a custom destructor
[INFO] [stdout]     |                        `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |             tokio::spawn(accept_quic_stream(stream, timeout_secs, lifecycle.clone()));
[INFO] [stdout]     |             -------------------------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 115 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-listener/src/quic.rs:64:28
[INFO] [stdout]     |
[INFO] [stdout]  64 |     while let Some(conn) = incoming.next().await {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |               |
[INFO] [stdout]     |                            |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  65 |         log::info!("quic connection incoming");
[INFO] [stdout]  66 |         tokio::spawn(accept_quic(conn, timeout_secs, lifecycle.clone()));
[INFO] [stdout]     |         ----------------------------------------------------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  67 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.8.3/src/connection.rs:736:1
[INFO] [stdout]     |
[INFO] [stdout] 736 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.21/src/oneshot.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.8.3/src/connection.rs:736:1
[INFO] [stdout]     |
[INFO] [stdout] 736 | impl Drop for ConnectionRef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/runtime/task/join.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> server-listener/src/accepter.rs:68:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |             while let Some(msg) = receiver.next().await {
[INFO] [stdout]    |                                                   -----
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 68 |                 if let Err(e) = writer.send(msg).await {
[INFO] [stdout]    |                            -    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                            |    |                |
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                            |    |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            |    |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                            |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            `e` calls a custom destructor
[INFO] [stdout]    |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 72 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> server-listener/src/accepter.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             while let Some(msg) = receiver.next().await {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                   |               |
[INFO] [stdout]    |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 68 |                 if let Err(e) = writer.send(msg).await {
[INFO] [stdout]    |                            -    ----------------------
[INFO] [stdout]    |                            |    |                |
[INFO] [stdout]    |                            |    |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            |    |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                            |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                            `e` calls a custom destructor
[INFO] [stdout]    |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 72 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed server-grpc/src/cluster.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-grpc/src/dispatcher.rs:36:19
[INFO] [stdout]     |
[INFO] [stdout]  34 |             let mut request = Request::new(request.clone());
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `request` calls a custom destructor
[INFO] [stdout]     |                 `request` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |             request.set_timeout(grpc_timeout());
[INFO] [stdout]  36 |             match self.clients.pick_client(&namespace, self.zone.clone()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/semaphore.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.2/src/sync/reusable_box.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<T> Drop for ReusableBoxFuture<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed server-grpc/src/cluster.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> server-grpc/src/dispatcher.rs:36:19
[INFO] [stdout]     |
[INFO] [stdout]  34 |             let mut request = Request::new(request.clone());
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `request` calls a custom destructor
[INFO] [stdout]     |                 `request` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |             request.set_timeout(grpc_timeout());
[INFO] [stdout]  36 |             match self.clients.pick_client(&namespace, self.zone.clone()) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/semaphore.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.2/src/sync/reusable_box.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<T> Drop for ReusableBoxFuture<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.18.2/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating server/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking feature-probe-link v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: client_core v0.1.0 (/opt/rustwide/workdir/client-core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: client-proto v0.1.0 (/opt/rustwide/workdir/client-proto) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: client-uniffi v0.1.0 (/opt/rustwide/workdir/client-uniffi) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-proto v0.1.0 (/opt/rustwide/workdir/server-proto) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-base v0.1.0 (/opt/rustwide/workdir/server-base) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-state v0.1.0 (/opt/rustwide/workdir/server-state) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-core v0.1.0 (/opt/rustwide/workdir/server-core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-listener v0.1.0 (/opt/rustwide/workdir/server-listener) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-hproxy v0.1.0 (/opt/rustwide/workdir/server-hproxy) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server-grpc v0.1.0 (/opt/rustwide/workdir/server-grpc) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: server v0.1.0 (/opt/rustwide/workdir/server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: feature-probe-link v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/client-core/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-base/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-state/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-core/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-listener/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-hproxy/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server-grpc/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/server/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling server-proto v0.1.0 (/opt/rustwide/workdir/server-proto)
[INFO] [stderr]    Compiling client-proto v0.1.0 (/opt/rustwide/workdir/client-proto)
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling client-uniffi v0.1.0 (/opt/rustwide/workdir/client-uniffi)
[INFO] [stderr]     Checking client_core v0.1.0 (/opt/rustwide/workdir/client-core)
[INFO] [stderr]     Checking server-base v0.1.0 (/opt/rustwide/workdir/server-base)
[INFO] [stdout] warning: struct `QuicConnection` is never constructed
[INFO] [stdout]  --> client-core/src/quic_conn.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct QuicConnection {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> client-core/src/id_gen.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl IdGen {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuicConnection` is never constructed
[INFO] [stdout]  --> client-core/src/quic_conn.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct QuicConnection {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking server-state v0.1.0 (/opt/rustwide/workdir/server-state)
[INFO] [stderr]     Checking server-core v0.1.0 (/opt/rustwide/workdir/server-core)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:174:3
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:201:7
[INFO] [stdout]     |
[INFO] [stdout] 201 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 223 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:252:7
[INFO] [stdout]     |
[INFO] [stdout] 252 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:274:7
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:319:7
[INFO] [stdout]     |
[INFO] [stdout] 319 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 319 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:341:7
[INFO] [stdout]     |
[INFO] [stdout] 341 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 341 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:377:7
[INFO] [stdout]     |
[INFO] [stdout] 377 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 377 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:415:3
[INFO] [stdout]     |
[INFO] [stdout] 415 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 415 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[unsafe(no_mangle)]
[INFO] [stdout]    |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:174:3
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:201:7
[INFO] [stdout]     |
[INFO] [stdout] 201 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 223 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:252:7
[INFO] [stdout]     |
[INFO] [stdout] 252 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:274:7
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:319:7
[INFO] [stdout]     |
[INFO] [stdout] 319 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 319 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:341:7
[INFO] [stdout]     |
[INFO] [stdout] 341 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 341 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:377:7
[INFO] [stdout]     |
[INFO] [stdout] 377 |     #[no_mangle]
[INFO] [stdout]     |       ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 377 |     #[unsafe(no_mangle)]
[INFO] [stdout]     |       +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:415:3
[INFO] [stdout]     |
[INFO] [stdout] 415 | #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 415 | #[unsafe(no_mangle)]
[INFO] [stdout]     |   +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_from_bytes` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     uniffi::ffi::uniffi_rustbuffer_from_bytes(bytes, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_from_bytes(bytes: uniffi::ForeignBytes, call_status: &mut uniffi::RustCallStatus) -> uniffi::RustBuffer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_free` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     uniffi::ffi::uniffi_rustbuffer_free(buf, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_free(buf: uniffi::RustBuffer, call_status: &mut uniffi::RustCallStatus) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_reserve` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     uniffi::ffi::uniffi_rustbuffer_reserve(buf, additional, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_reserve(buf: uniffi::RustBuffer, additional: i32, call_status: &mut uniffi::RustCallStatus) -> uniffi::RustBuffer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_from_bytes` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     uniffi::ffi::uniffi_rustbuffer_from_bytes(bytes, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_from_bytes(bytes: uniffi::ForeignBytes, call_status: &mut uniffi::RustCallStatus) -> uniffi::RustBuffer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_free` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     uniffi::ffi::uniffi_rustbuffer_free(buf, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_free(buf: uniffi::RustBuffer, call_status: &mut uniffi::RustCallStatus) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `uniffi::uniffi_rustbuffer_reserve` is unsafe and requires unsafe block
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     uniffi::ffi::uniffi_rustbuffer_reserve(buf, additional, call_status)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/client-uniffi-0b76dc85ae5c66fe/out/featureprobe_link.uniffi.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub unsafe extern "C" fn ffi_FeatureProbeLink_6177_rustbuffer_reserve(buf: uniffi::RustBuffer, additional: i32, call_status: &mut uniffi::RustCallStatus) -> uniffi::RustBuffer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `client-uniffi` (lib) due to 15 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `client-uniffi` (lib test) due to 15 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed", kill_on_drop: false }`
[INFO] [stdout] 8726ab205ea2fb21464c9af250c62288167a5227ffe0acb812454fae0077e9ed
